package com.itbour.dto.yjx.user;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

import org.springframework.core.io.ClassPathResource;

public final class RocketTAG{
	
	public static Integer REDIS_ONLINEDB_RECORD;// 主存储记录库
	public static String FLG_UPTMPL_START;//更新模板开始标记
	public static String FLG_UPTMPL_END;// 更新模板结束标记
	public static String FLG_SYNC_ALLDBSTATE;// 开始同步缓存
	public static String FLG_SYNC_ALLDBSTATE_END;// 结束同步缓存
	public static String FLG_UPD_OFFLINE_START;// 更新线下缓存开始标记
	public static String FLG_UPD_OFFLINE_END;// 更新线下缓存结束标记
	public static String FLG_ONLINE_RECORD;// 线上标记
	public static String FLG_OFFLINE_RECORD;// 线下标记
	public static String TOPIC;// 消息中间件的topic
	
	
	// 一键生成   记录库号
	public static Integer YJSC_REDIS_ONLINEDB_RECORD;
	//修改单个模板开始标记
	public static String YJSC_SYNCITEM_FLG;
	//修改单个模板结束标记
	public static String YJSC_SYNCITEM_FLG_END;
	//同步缓存开始
	public static String YJSC_FLAG;
	//同步缓存结束
	public static String YJSC_ENDFLAG;
	//更新线下db的标记
	public static String YJSC_OFFINE_FLG;
	//更新线下db的结束标记
	public static String YJSC_OFFINE_FLG_END;
	//线上标记
	public static String YJSC_ONLINE_RECORD;
	//线下标记
	public static String YJSC_OFFINE_RECORD;
	
	public static String RESTFUL_URL;// 接口地址IP
	
	// 静态获取 properties属性常量
	static {
		Properties properties = new Properties();  
        InputStream input = null;  
        try {  
        	ClassPathResource res = new ClassPathResource("redis.properties");
        	input = res.getInputStream();
            properties.load(input);// 加载属性文件  
            String st = properties.getProperty("redis.REDIS_ONLINEDB_RECORD");
            if (st !=null){
            	REDIS_ONLINEDB_RECORD = Integer.parseInt(st);
            }
            FLG_UPTMPL_START = properties.getProperty("redis.FLG_UPTMPL_START");// 更新模板开始标记
            FLG_UPTMPL_END = properties.getProperty("redis.FLG_UPTMPL_END");// 更新模板结束标记
            FLG_SYNC_ALLDBSTATE = properties.getProperty("redis.FLG_SYNC_ALLDBSTATE");// 同步模板开始标记
            FLG_SYNC_ALLDBSTATE_END = properties.getProperty("redis.FLG_SYNC_ALLDBSTATE_END");// 同步模板结束标记
            FLG_UPD_OFFLINE_START = properties.getProperty("redis.OFFLINE_FLG");
            FLG_UPD_OFFLINE_END = properties.getProperty("redis.OFFLINE_FLG_END");
            FLG_ONLINE_RECORD = properties.getProperty("redis.ONLINE_RECORD");
            FLG_OFFLINE_RECORD = properties.getProperty("redis.OFFLINE_RECORD");
            RESTFUL_URL = properties.getProperty("node.IP");// NODE API地址
            
            // 一键生成 DB标记
        	
        	String stt = properties.getProperty("redis.YJSC_REDIS_ONLINEDB_RECORD");
        	if (stt!=null){
        		YJSC_REDIS_ONLINEDB_RECORD = Integer.parseInt(stt);
        	}
        	YJSC_SYNCITEM_FLG = properties.getProperty("redis.YJSC_SYNCITEM_FLG");
        	YJSC_SYNCITEM_FLG_END = properties.getProperty("redis.YJSC_SYNCITEM_FLG_END");
        	YJSC_FLAG = properties.getProperty("redis.YJSC_FLAG");
        	YJSC_ENDFLAG = properties.getProperty("redis.YJSC_ENDFLAG");
        	YJSC_OFFINE_FLG = properties.getProperty("redis.YJSC_OFFINE_FLG");
        	YJSC_OFFINE_FLG_END = properties.getProperty("redis.YJSC_OFFINE_FLG_END");
        	YJSC_ONLINE_RECORD = properties.getProperty("redis.YJSC_ONLINE_RECORD");
        	YJSC_OFFINE_RECORD = properties.getProperty("redis.YJSC_OFFINE_RECORD");
            
        } catch (IOException io) {  
        	System.out.println(io.getMessage());
        } finally {  
            if (input != null) {  
                try {  
                    input.close();  
                } catch (IOException e) {  
                    e.printStackTrace();  
                }  
            }  
        }  
	}
	
	// 静态获取 properties属性常量
	static {
		Properties properties = new Properties();  
		InputStream input = null;  
		try {  
			ClassPathResource res = new ClassPathResource("aliRocketMQ.properties");
			input = res.getInputStream();
			properties.load(input);// 加载属性文件  
			TOPIC = properties.getProperty("mq.topic");
		} catch (IOException io) {  
			System.out.println(io.getMessage());
		} finally {  
			if (input != null) {  
				try {  
					input.close();  
				} catch (IOException e) {  
					e.printStackTrace();  
				}  
			}  
		}  
	}
	
	
	/**
	 *  一键秀 同步所有缓存消息定义  tag
	 */
	public final static String SYNC = "sync";// 同步
	public final static String SWITCH ="switch";// 切换
	public final static String UDIEDB = "udiedb";// 更新宕机DB
	public final static String UPDATE_CACHE_SYNC = "updateCacheSync";// 同步模板到缓存(单个或多个)
	public final static String SET_UPDATE_DB = "setupdatedb";// 通过模板组Id更新缓存(单个或多个)
	
	
	
	/**		 一键生成  消息tag
	 */
	public final static String yjscsync = "yjscsync";// 同步
	public final static String yjscswitch = "yjscswitch";// 切换
	public final static String yjscudiedb = "yjscudiedb";// 更新宕机
	public final static String yjscupdateCacheSync = "yjscupdateCacheSync";// 更新
	public final static String yjscclearapicache = "yjscclearapicache";// 清除缓存
	
	
}
